package com.huacai.orders.mapper;

import java.util.List;

import com.huacai.orders.domain.OrderDetail;
import com.huacai.orders.domain.Orders;
import org.apache.ibatis.annotations.Param;

/**
 * 酒店订单Mapper接口
 * 
 * @author hsj
 * @date 2025-05-18
 */
public interface OrdersMapper 
{
    /**
     * 查询酒店订单
     * 
     * @param orderId 酒店订单主键
     * @return 酒店订单
     */
    public Orders selectOrdersByOrderId(String orderId);

    /**
     * 查询酒店订单列表
     *
     * @param orders 酒店订单
     * @return 酒店订单集合
     */
    public List<Orders> selectOrdersList(Orders orders);

    /**
     * 查询酒店订单列表
     * 
     * @param orders 酒店订单
     * @param userId 用户ID
     * @return 酒店订单集合
     */
    public List<Orders> selectOrdersListByUserId(@Param("orders") Orders orders, @Param("userId") Long userId);

    /**
     * 新增酒店订单
     * 
     * @param orders 酒店订单
     * @return 结果
     */
    public int insertOrders(Orders orders);

    /**
     * 修改酒店订单
     * 
     * @param orders 酒店订单
     * @return 结果
     */
    public int updateOrders(Orders orders);

    /**
     * 删除酒店订单
     * 
     * @param orderId 酒店订单主键
     * @return 结果
     */
    public int deleteOrdersByOrderId(String orderId);

    /**
     * 批量删除酒店订单
     * 
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOrdersByOrderIds(String[] orderIds);

    List<OrderDetail> selectOrderDetail(@Param("orderId") String orderId, @Param("userId") Long userId);
}
